package top.xwang.firstspringboot.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import top.xwang.firstspringboot.entity.User2;
import top.xwang.firstspringboot.mapper.UserMapper;

import java.util.List;

@RestController
public class UserController {

    @Autowired
    private UserMapper userMapper;

//    ========mybatis-plus=========
    @GetMapping("/getUserAll")
    public List getUserAll() {
//        List<User2> userList = userMapper.getUserAll();
        List<User2> list = userMapper.selectList(null);
        System.out.println(list);
        return list;
    }

    @PostMapping("/addUser")
    public String addUser(User2 user2){
//        int i = userMapper.addUser(user2);
        int i = userMapper.insert(user2);
        if (i > 0){
            return "添加成功";
        }else {
            return "添加失败";
        }
    }

    @PostMapping("/updateUser")
    public String updateUser(User2 user2){
//        int i = userMapper.updateUser(user2);
        int i = userMapper.updateById(user2);
        if (i > 0){
            return "修改成功";
        }else {
            return "修改失败";
        }
    }

    @PostMapping("/deleteUser")
    public String deleteUser(Integer id){
        int i = userMapper.deleteById(id);
        if (i > 0){
            return "删除成功";
        }else {
            return "删除失败";
        }
    }

    @GetMapping("/getUserById")
    public User2 getUserById(Integer id){
        User2 user = userMapper.selectById(id);
        System.out.println(user);
        return user;
    }

//    ========mybatis==========
//    @GetMapping("/user/{id}")
//    public String getUserById(@PathVariable Integer id){
//        System.out.println(id);
//        return "getById - ok";
//    }
//    @PostMapping("/user")
//    public String saveUser(User user){
//        System.out.println(user);
//        return "add user";
//    }
//    @PutMapping("/user")
//    public String updateUser(User user){
//        System.out.println(user);
//        return "update user";
//    }
//    @DeleteMapping("user/{id}")
//    public String deleteById(@PathVariable Integer id){
//        System.out.println(id);
//        return "delete user";
//    }


}
